package br.com.portal.dao;

import java.sql.Connection;

import br.com.portal.beans.Estoque;
import br.com.portal.beans.LinhaPedido;
import br.com.portal.factory.ConnectionFactory;

import java.sql.PreparedStatement;
import java.sql.ResultSet;


public class LinhaPedidoDAO {
	public static LinhaPedido preencherLinha(String codigoProduto) throws Exception {
		LinhaPedido linha = null;
		Connection conn = ConnectionFactory.getConnection();

		String sql = "SELECT p.codigo, p.descricao, p.linha, p.ipi, p.pack, p.display, t.valor_unitario " +
				"FROM produto p INNER JOIN tabela_preco t ON p.codigo = t.codigo_produto WHERE p.codigo = ?";

		PreparedStatement stmt = conn.prepareStatement(sql);
		stmt.setString(1, codigoProduto);
		
		ResultSet rs = stmt.executeQuery();

		if(rs.next()) {
			linha = new LinhaPedido();
			linha.setCodigo(rs.getString("codigo"));
			linha.setDescricao(rs.getString("descricao"));
			linha.setLinha(rs.getString("linha"));
			linha.setIpi(rs.getFloat("ipi"));
			linha.setPack(rs.getInt("pack"));
			linha.setDisplay(rs.getInt("display"));
			linha.setValorUnitario(rs.getFloat("valor_unitario"));

			sql = "SELECT codigo_produto, codigo_filial, qtd FROM estoque WHERE codigo_produto = ?";
			stmt = conn.prepareStatement(sql);
			stmt.setString(1, codigoProduto);
			
			rs = stmt.executeQuery();
			while(rs.next()) {
				Estoque estoque = new Estoque();
				estoque.setCodigoFilial(rs.getString("codigo_filial"));
				estoque.setQtd(rs.getFloat("qtd"));
				estoque.setCodigoProduto(rs.getString("codigo_produto"));
				
				linha.getEstoques().add(estoque);
			}
		}

		return linha;
	}
}